<%= page do %>
  <%= page_header do %>
    <%= page_header_back(solidus_admin.users_path) %>
    <%= page_header_title(t(".title", email: @user.email)) %>

    <% # @todo: I am not sure how we want to handle Cancan stuff in the new admin. %>
    <% # if can?(:admin, Spree::Order) && can?(:create, Spree::Order) %>
      <%= page_header_actions do %>
        <%= render component("ui/button").new(tag: :a, text: t(".create_order_for_user"), href: spree.new_admin_order_path(user_id: @user.id)) %>
      <% end %>
    <% # end %>
  <% end %>

  <%= page_header do %>
    <%= render component("users/edit/tabs").new(user: @user, current: :account) %>
  <% end %>

  <%= page_with_sidebar do %>
    <%= page_with_sidebar_main do %>

      <%= render component('ui/panel').new(title: Spree.user_class.model_name.human) do %>
        <%= solidus_form_for @user, url: solidus_admin.user_path(@user), html: { id: form_id, autocomplete: "off" } do |f| %>
          <div class="py-1.5">
            <%= f.text_field(:email) %>
          </div>
          <div class="py-1.5">
            <%= f.text_field(:password) %>
          </div>
          <div class="py-1.5">
            <%= f.text_field(:password_confirmation) %>
          </div>
          <div class="py-1.5">
            <%= f.checkbox_row(:spree_role_ids, options: role_options, row_title: "Roles", layout: :subsection) %>
          </div>
          <div class="py-1.5 text-center">
            <%= f.submit(text: t(".update")) %>
            <%= render component("ui/button").new(tag: :a, text: t(".cancel"), href: solidus_admin.user_path(@user), scheme: :secondary) %>
          </div>
        <% end %>
      <% end %>

      <%= render component("users/edit/api_access").new(user: @user) %>

    <% end %>

    <%= page_with_sidebar_aside do %>
      <%= render component("users/stats").new(user: @user) %>
    <% end %>
  <% end %>
<% end %>
